 /*1.通过封装函数获取地址栏传参数据
2.发送请求获取响应体数据  根据结果动态渲染生成页面  商品详细信息
3.通过+ - 按钮添加点击事件   页面内容是动态生成的  给父级标签添加点击事件  通过事件委托来完成

4.点击购物车   首先判断是否登录 如果没有登录就跳转到登录去  登录了就获取购物车的数据信息





*/
const valObj = myGetUrlValObj();
console.log(valObj.goods_id);

const xhr = myPromiseJQueryAjax('../server/goods_detail.php', 'post', {
  goods_id: valObj.goods_id
}, 'json');
xhr.then(function (res) {
  console.log(res);
  let str = `
<div class="panel panel-default">
<div class="panel-heading">
  <h3 class="panel-title">商品详细信息</h3>
</div>
<div class="panel-body">
  <div class="media">
    <div class="media-left">
      <a href="#">
        <img class="media-object" src="${res.goods_big_logo}" alt="...">
      </a>
    </div>
    <div class="media-body">
      <h4 class="media-heading">${res.goods_name}</h4>
      <p>
        <i class="glyphicon glyphicon-yen"></i>
        <span>${res.goods_price}</span>
      </p>
      <div class="btn-group" role="group" aria-label="...">
        <button type="button" class="btn btn-default">XL</button>
        <button type="button" class="btn btn-default">L</button>
        <button type="button" class="btn btn-default">M</button>
        <button type="button" class="btn btn-default">S</button>
        <button type="button" class="btn btn-default">XS</button>
      </div>
      <p style="position:relative">
        <input value="1" class="num">
        <button name="减" type="button" class="jian btn btn-default">-</button>
        <button name="加" type="button" class="jia btn btn-default">+</button>
      </p>
      <p>
        <a href="javascript:;" class="btn btn-warning btn-lg" role="button">立即购买</a>
        <a name="cart" href="javascript:;" class="btn btn-danger btn-lg" role="button">加入购物车</a>
      </p>
    </div>
  </div>
  <ul class="nav nav-tabs">
    <li role="presentation" class="active"><a href="#">商品详细信息</a></li>
    <li role="presentation"><a href="#">商品参数信息</a></li>
    <li role="presentation"><a href="#">相关商品</a></li>
  </ul>
  <div>
    ${res.goods_introduce}
  </div>
</div>
</div>

`

  $('.container').html(str);

  $('.container').click(function (e) {
      if (e.target.getAttribute('name') === '减') {
        //获取input中的数据-1之后 再赋值回来  如果小于1就赋值1  大于1赋值这个数值本身
        $('.num').val($('.num').val() - 1 < 1 ? 1 : $('.num').val() - 1);
      } else if (e.target.getAttribute('name') === '加') {
        // console.log($('.num').val() - 0);
        $('.num').val($('.num').val() - 0 + 1 > res.goods_number ? res.goods_number : $('.num').val() - 0 + 1);
        // console.log($('.num').val());
      } else if (e.target.getAttribute('name') === 'cart') {
        //点击购物车 先判断是否登录
        const cookieObj = myGetCookie();
        if (cookieObj.login !== '1') {
          if (window.confirm('您还没有登录，点击确定跳转登录页面')) {
            window.location.href = `./login.html?url=${window.location.href}`
          }
          return;
        }
      
      //已经登录的情况  分成购物车有信息和没有信息  有信息获取结果是undefined  
      let cart = localStorage.cart;
      if (cart === undefined) {
        //没有创建购物车信息  直接添加购物车信息  给当前商品添加属性和属性值   判断购买数量符合数值规范
        if (!($('.num').val() - 0 >= 1 && $('.num').val() - 0 <= res.goods_number)) {
          window.alert('您输入的数值超过库存！')
          return;
        }
        res.num = $('.num').val() - 0;
        res.buy = true;

        // localStorage 字符串 和 json字符串
        // 将 商品 信息转化为 json字符串 存储
        // 存储的数据结构 必须是 数组中存储对象 不能直接存储对象
        localStorage.cart = JSON.stringify([res]);

      } else {
        cart = JSON.parse(cart);
        //购物车是一个空数组
        if (cart.lenght === 0) {
          //空的话直接添加到购物车
          if (!($('.num').val() - 0 >= 1 && $('.num').val() - 0 <= res.goods_number)) {
            window.alert('购买数量有误');
            return;
          }
          res.num = $('.num').val() - 0;
          res.buy = true;
          localStorage.cart = JSON.stringify([res]);

        } else {
          let bool = cart.some(function (val) {
            // 购车商品id 和 当前商品id  相等
            return val.goods_id === res.goods_id;
          })

          if (bool) {
            // 给 对应的 商品 添加 购买数量
            // 循环遍历 找到 goods_id相同的商品
            for (let i = 0; i <= cart.length - 1; i++) {
              if (cart[i].goods_id === res.goods_id) {
                // 如果 购物车商品id 和 当前商品id 相同
                // 添加 购买商品个数
                let numAdd = (cart[i].num - 0) + ($('.num').val() - 0);

                // 判断 添加 新的数量之后 购买 数量 在 正确的范围之间
                if (!(numAdd >= 1 && numAdd <= cart[i].goods_number)) {
                  window.alert('您输入的商品范围有误');
                  return;
                }

                // 修改购物车 数据中 购买商品的商品数量
                cart[i].num = numAdd;
                // 将 新的 购物车数据数组 再 设定给 localStorage中购物车数据
                localStorage.cart = JSON.stringify(cart);
              }
            }

          } else {
            //当购物车中没有要添加的这个商品 就是bool为FALSE
            if (!($('.num').val() - 0 >= 1 && $('.num').val() - 0 <= res.goods_number)) {
              window.alert('您输入的商品数量有误！');
              return;

            }
            res.num = $('.num').val() - 0;
            res.buy = true;
            cart.unshift(res);
            localStorage.cart = JSON.stringify(cart);
          }

        }

      }

      // 添加 完 购物车 信息后 跳转 购物车页面
      window.location.href = './cart.html';


    }
  })
})